package com.smyh.util;

import com.smyh.server.ToastShowMsgThread;
import com.smyh.thread.UpdateDeviceProgramThread;
import com.smyh.thread.UpdateHostProgramThread;

public class TxtUtil {
	private static UpdateHostProgramThread updateHostProgramThread;
	private static UpdateDeviceProgramThread updateDeviceProgramThread;

	/**
	 * 读取txt文件/bin文件的内容
	 * 主机升级程序方法：
	 * @param filePath 升级文件绝对路径
	 * @param prev 在设备RF，建立连接未断开之前，续传升级文件：上次上传文件位置：
	 */
	public static void updateProgramPackForHost(String filePath, int prev) {
		if (updateHostProgramThread == null || !updateHostProgramThread.isAlive()) {
			updateHostProgramThread = new UpdateHostProgramThread(filePath, prev);
			updateHostProgramThread.start();
		} else {
			new Thread(new ToastShowMsgThread("主机升级过程正在进行中......")).start();
//			int result = JOptionPane.showConfirmDialog(null, "有其它升级过程正在进行中，是否要先终止它？");

//			if (result == JOptionPane.YES_OPTION) {
//				updateHostProgramThread.interrupt();
//				updateHostProgramThread = null;
//				updateProgramPackForHost(filePath, prev);
//			}
		}
	}
	/**
	 * 读取txt文件/bin文件的内容
	 * 指示器升级程序方法：
	 * @param filePath 升级文件绝对路径
	 */
	public static void updateProgramPackForDevice(String filePath) {
		if (updateDeviceProgramThread == null || !updateDeviceProgramThread.isAlive()) {
			updateDeviceProgramThread = new UpdateDeviceProgramThread(filePath);
			updateDeviceProgramThread.start();
		} else {
			new Thread(new ToastShowMsgThread("指示器升级过程正在进行中......")).start();
//			int result = JOptionPane.showConfirmDialog(null, "有其它升级过程正在进行中，是否要先终止它？");
//			if (result == JOptionPane.YES_OPTION) {
//				updateDeviceProgramThread.interrupt();
//				updateDeviceProgramThread = null;
//				updateProgramPackForDevice(filePath);
//			}

		}
	}
}